--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 0b7478f13599ad5af5a162be1f58ba4b65bb3eea
Parents : e7e1670
Author : Sudo-Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-01-14T07:57:48-06:00
Update Arch Dockerfile and CI workflow for Arch package building: create a build script to handle permissions and update volume mount path in CI configuration.
Changes
2 files changed, 9 insertions(+), 5 deletions(-)
Diff
diff --git a/.gitea/workflows/arch-package.yml b/.gitea/workflows/arch-package.yml
index 7f7bc698..75b0247e 100644
--- a/.gitea/workflows/arch-package.yml
+++ b/.gitea/workflows/arch-package.yml
@@ -18,7 +18,7 @@ jobs:
- name: Build Arch Package
run: |
docker build -t arch-builder -f Dockerfile.arch-builder .
- docker run --rm -v $(pwd):/home/build/project arch-builder
+ docker run --rm -v ${{ github.workspace }}/packaging/arch:/home/build/project arch-builder
- name: Upload Artifact
uses: https://git.quad4.io/actions/upload-artifact@ff15f0306b3f739f7b6fd43fb5d26cd321bd4de5 # v3.2.1
diff --git a/Dockerfile.arch-builder b/Dockerfile.arch-builder
index adaacf07..42b473b9 100644
--- a/Dockerfile.arch-builder
+++ b/Dockerfile.arch-builder
@@ -28,12 +28,16 @@ RUN useradd -m build && \
echo "build ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/build
# Set up build directory
-USER build
+RUN mkdir -p /home/build/project && chown build:build /home/build/project
WORKDIR /home/build/project
-# Copy packaging files
-COPY --chown=build:build packaging/arch /home/build/project/packaging/arch
+# Copy packaging files (optional if mounting, but good for standalone)
+COPY --chown=build:build packaging/arch /home/build/project/
# Default command to build the package
-CMD ["/bin/bash", "-c", "cd packaging/arch && makepkg -s --noconfirm"]
+# We use a script to handle potential permission issues with volume mounts
+RUN echo '#!/bin/bash\nsudo chown -R build:build /home/build/project\ncd /home/build/project\nsudo -u build makepkg -s --noconfirm' > /usr/local/bin/build.sh && \
+ chmod +x /usr/local/bin/build.sh
+
+CMD ["/usr/local/bin/build.sh"]
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────